Introduction to Ocelot Structure
Ocelot has a modular structure. Below is an overview of its structure and key modules:
Charged Particle Beam Dynamics Module (CPBD)
The CPBD module contains the following main components:
- Elements: Definitions of various beamline elements.
- TransferMaps: Mathematical transformations for beamline elements.
- MagneticLattice: Class represents a magnetic lattice, which is a sequence of elements forming a beamline
- Navigator: Class for navigating through beamline lattices during tracking with
PhysProc
(Physics Processes) - Tracking: Particle tracking functions.
- Matching: Matching beam optics to desired parameters.
- Physics Processes: Includes key collective effects:
- SpaceCharge: Features a 3D Laplace solver.
- CSR (Coherent Synchrotron Radiation): Implements a 1D model supporting an arbitrary number of dipoles.
- Wake (Wakefields): Models wakefields using a Taylor expansion up to second order for arbitrary geometries.
- IBS (Intra Beam Scattering): Models intra-beam scattering effects.
- Additional details on these effects can be found:
- MOGA (Multi-Objective Genetic Algorithm): Optimizes beamline designs.
Adaptors
- Includes various converters for translating lattice formats into Ocelot's format or converting beam distributions into
ParticleArray
.
Native Module for Spontaneous Radiation Calculation
- This module provides tools for calculating spontaneous radiation. Additional details can be found in Tutorial-Photons and in references:
FEL Calculations
- Interfaces with GENESIS for Free Electron Laser (FEL) simulations, including pre- and post-processing tools.
Modules for Online Beam Control and Optimization (migrated to separate repository)
- Tools for online beam control and optimization of accelerator performance. Refer to the following resources for more details:
- “Online Beam Control with Ocelot at Siberia-2” – S. Tomin, A. Valentinov, IPAC2014
- “Statistical Optimization of FEL Performance” – I. Agapov et al, IPAC2015
- “Progress in Automatic Software-Based Optimization of Accelerator Performance” – S. Tomin et al, IPAC2016
- "Automatic tuning of Free Electron Lasers" - I.Agapov et al, arXiv 2017
- Developed in collaboration with SLAC and hosted in a separate repository within the ocelot-collab organization for ease of collaborative development.
Technical Foundations
Ocelot extensively utilizes Python libraries:
- NumPy: For efficient in-core numerical computations.
- SciPy: For advanced scientific computations, including optimization techniques and algorithms.
- Matplotlib: For producing high-quality figures and visualizations.
Examples and Tutorials
While detailed documentation is not yet available, you can find numerous examples in the /demos/
folder
and Jupyter tutorials to get started.